'''   __闭包__
        1.什么是闭包?
            1.函数
        2.如何创建?
            1.嵌套函数定义（外部函数，内部函数）
            2.内部函数使用外部函数中定义的变量
            3.外部函数一定要有返回值，返回内部函数名

    使用闭包，完成求两个数字和

'''
# def funcOut(mun1):
#     def funcIn(num2):
#         return mun1 + num2
#     return funcIn
# a = 10
# b = 20
# f = funcOut(a)
# result = f(b)
# print(result)

'''求两个点之间的距离
        （x1,y1）
        (x2,y2)
        (x1-x2)^2+(y1-y2)^2 的平方根
'''

# import math
# def getDisOut(x1,y1):
#     def getDisIn(x2,y2):
#         return math.sqrt((x1-x2)**2 + (y1-y2)**2)
#     return getDisIn
#
# x2 = int(input("输入x轴坐标："))
#
# y2 = int(input("输入y轴坐标："))
# getDisIn = getDisOut(0,0)
# result = getDisIn(x2,y2)
# print("{0}距离原点的距离是：{1}".format((x2,y2),result))


# def a(x1,y1,x2,y2):
#     return math.sqrt((x1-x2)**2 + (y1-y2)**2)
# dis = a(0,0,1,1)
# print(dis)


'''
闭包的特殊用途
    1.可以在不修改现有功能的情况下，增加新功能
    日志功能，（统计访问事件，访问功能，写到日志文件中）
    权限验证
'''
